package com.faithbj.support.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * 公积金管理机构委办返回数据
 * @author chen liu
 *
 */
public class AFMCompareResponse extends CompareResponse implements Serializable{
    private static final long serialVersionUID = 1L;
    private List<AFMData> memberDatas = new ArrayList<AFMData>();
    
    public AFMCompareResponse() {
        super();
    }

    public AFMCompareResponse(String batchNum, String departmentNum, String mainApplicantName,
            String mainApplicantCardId) {
        super(batchNum, departmentNum, mainApplicantName, mainApplicantCardId);
    }

    public List<AFMData> getMemberDatas() {
        return memberDatas;
    }

    public void addMemberData(AFMData data) {
        memberDatas.add(data);
    }

    public void setMemberDatas(List<AFMData> memberDatas) {
        this.memberDatas = memberDatas;
    }

    public static class AFMData implements Serializable{
        private static final long serialVersionUID = 1L;
        private String applicantName;         // 申请人姓名
        private String applicantCardType;     // 申请人证件类型
        private String applicantCardNum;      // 申请人证件号
        
        private String accumulationFundName;      // 公积金姓名
        private String personalAccountNum;        // 个人账号
        private String companyCode;               // 单位代码
        private BigDecimal monthlyDepositAmount;  // 当前核定月缴存额
        private BigDecimal fixedBalanceAmount;    // 当前定期余额
        private BigDecimal currentBalanceAmount;  // 当前活期余额
        private Date lastDepositDt;               // 末次缴交年月
        private Integer status;                   // 当前状态
        private Integer hasSymbol;                // 数据有无标志
        private String withdrawType;              // 提取类别
        private Date withdrawDt;                  // 提取日期
        private BigDecimal withdrawAmount;        // 提取发生额
        private BigDecimal withdrawInterests;     // 提取利息
        private String withdrawReasonCode;        // 提取原因代码
        private String bankName;                  // 发生银行名称
        
        public AFMData() {
        }
        
        public AFMData(String applicantName, String applicantCardType, String applicantCardNum,
                String accumulationFundName, String personalAccountNum, String companyCode,
                BigDecimal monthlyDepositAmount, BigDecimal fixedBalanceAmount, BigDecimal currentBalanceAmount,
                Date lastDepositDt, Integer status, Integer hasSymbol, String withdrawType, Date withdrawDt,
                BigDecimal withdrawAmount, BigDecimal withdrawInterests, String withdrawReasonCode, String bankName) {
            this.applicantName = applicantName;
            this.applicantCardType = applicantCardType;
            this.applicantCardNum = applicantCardNum;
            this.accumulationFundName = accumulationFundName;
            this.personalAccountNum = personalAccountNum;
            this.companyCode = companyCode;
            this.monthlyDepositAmount = monthlyDepositAmount;
            this.fixedBalanceAmount = fixedBalanceAmount;
            this.currentBalanceAmount = currentBalanceAmount;
            this.lastDepositDt = lastDepositDt;
            this.status = status;
            this.hasSymbol = hasSymbol;
            this.withdrawType = withdrawType;
            this.withdrawDt = withdrawDt;
            this.withdrawAmount = withdrawAmount;
            this.withdrawInterests = withdrawInterests;
            this.withdrawReasonCode = withdrawReasonCode;
            this.bankName = bankName;
        }
        public String getApplicantName() {
            return applicantName;
        }
        public void setApplicantName(String applicantName) {
            this.applicantName = applicantName;
        }
        public String getApplicantCardType() {
            return applicantCardType;
        }
        public void setApplicantCardType(String applicantCardType) {
            this.applicantCardType = applicantCardType;
        }
        public String getApplicantCardNum() {
            return applicantCardNum;
        }
        public void setApplicantCardNum(String applicantCardNum) {
            this.applicantCardNum = applicantCardNum;
        }
        public String getAccumulationFundName() {
            return accumulationFundName;
        }
        public void setAccumulationFundName(String accumulationFundName) {
            this.accumulationFundName = accumulationFundName;
        }
        public String getPersonalAccountNum() {
            return personalAccountNum;
        }
        public void setPersonalAccountNum(String personalAccountNum) {
            this.personalAccountNum = personalAccountNum;
        }
        public String getCompanyCode() {
            return companyCode;
        }
        public void setCompanyCode(String companyCode) {
            this.companyCode = companyCode;
        }
        public BigDecimal getMonthlyDepositAmount() {
            return monthlyDepositAmount;
        }
        public void setMonthlyDepositAmount(BigDecimal monthlyDepositAmount) {
            this.monthlyDepositAmount = monthlyDepositAmount;
        }
        public BigDecimal getFixedBalanceAmount() {
            return fixedBalanceAmount;
        }
        public void setFixedBalanceAmount(BigDecimal fixedBalanceAmount) {
            this.fixedBalanceAmount = fixedBalanceAmount;
        }
        public BigDecimal getCurrentBalanceAmount() {
            return currentBalanceAmount;
        }
        public void setCurrentBalanceAmount(BigDecimal currentBalanceAmount) {
            this.currentBalanceAmount = currentBalanceAmount;
        }
        public Date getLastDepositDt() {
            return lastDepositDt;
        }
        public void setLastDepositDt(Date lastDepositDt) {
            this.lastDepositDt = lastDepositDt;
        }
        public Integer getStatus() {
            return status;
        }
        public void setStatus(Integer status) {
            this.status = status;
        }
        public Integer getHasSymbol() {
            return hasSymbol;
        }
        public void setHasSymbol(Integer hasSymbol) {
            this.hasSymbol = hasSymbol;
        }
        public String getWithdrawType() {
            return withdrawType;
        }
        public void setWithdrawType(String withdrawType) {
            this.withdrawType = withdrawType;
        }
        public Date getWithdrawDt() {
            return withdrawDt;
        }
        public void setWithdrawDt(Date withdrawDt) {
            this.withdrawDt = withdrawDt;
        }
        public BigDecimal getWithdrawAmount() {
            return withdrawAmount;
        }
        public void setWithdrawAmount(BigDecimal withdrawAmount) {
            this.withdrawAmount = withdrawAmount;
        }
        public BigDecimal getWithdrawInterests() {
            return withdrawInterests;
        }
        public void setWithdrawInterests(BigDecimal withdrawInterests) {
            this.withdrawInterests = withdrawInterests;
        }
        public String getWithdrawReasonCode() {
            return withdrawReasonCode;
        }
        public void setWithdrawReasonCode(String withdrawReasonCode) {
            this.withdrawReasonCode = withdrawReasonCode;
        }
        public String getBankName() {
            return bankName;
        }
        public void setBankName(String bankName) {
            this.bankName = bankName;
        }                 
    }
}
